1. Field of Invention
This invention pertains to telecommunications, and particularly to the handling of cells in a switching node of a telecommunications network operating in the asynchronous transfer mode.
2. Related Art and Other Considerations
The increasing interest for high band services such as multimedia applications, video on demand, video telephone, and teleconferencing has motivated development of the Broadband Integrated Service Digital Network (B-ISDN). B-ISDN is based on a technology know as Asynchronous Transfer Mode (ATM), and offers considerable extension of telecommunications capabilities.
ATM is a packet-oriented transfer mode which uses asynchronous time division multiplexing techniques. Packets are called cells and have a fixed size. An ATM cell consists of 53 octets, five of which form a header and forty eight of which constitute a "payload" or information portion of the cell. The header of the ATM cell includes two quantities which are used to identify a connection in an ATM network over which the cell is to travel, particularly the VPI (Virtual Path Identifier) and VCI (Virtual Channel Identifier). In general, the virtual path is a principal path defined between two switching nodes of the network; the virtual channel is one specific connection on the respective principal path.
At its termination points, an ATM network is connected to terminal equipment, e.g., ATM network users. Between ATM network termination points are a plurality of switching nodes having ports which are connected together by physical transmission paths or links. In traveling from an origin terminal equipment to a destination terminal equipment, ATM cells forming a message may travel through several switching nodes.
A switching node has a plurality of ports, each of which is connected by via a line termination circuit and a link to another node. The line termination circuit performs packaging of the cells according to the particular protocol in use on the link. A cell incoming to a switching node may enter the switching node at a first port and exit from a second port via a line termination circuit onto a link connected to another node. Each link can carry cells for a plurality of connections, a connection being a transmission between a calling subscriber or party and a called subscriber or party.
Many cells which are transmitted through an ATM network travel from an origination node to a single destination or target node, and accordingly are known as point-to-point cells. Some switching nodes are capable of handling cells, known as point-to-multipoint cells, which travel from an origination node to a plurality of destination nodes. Some of the point-to-multipoint cells, although being for differing connections, may travel on the same link.
The switching nodes each typically have several functional parts, a primary of which is a switch core. The switch core essentially functions like a cross-connect between ports of the switch. Paths internal to the switch core are selectively controlled so that particular ports of the switch are connected together to allow a message ultimately to travel from the originating terminal equipment to the destination terminal equipment.
In a conventional switching technique, queues or buffers are provided for each port for e.g., storing cells prior to readout. In situations in which cells may have one of a plurality of priority classes, each port may have a number of queues or buffers corresponding to the number of priority classes. Cells are fed into an appropriate buffer by an input queue selector, and are readout of the buffer at an appropriate time by an output queue selector. In contrast to point-to-point cells, a common queue or buffer is provided (e.g., one queue for each priority class) for point-to-multipoint cells. When a point-to-multipoint cell is to be readout, the common queue for the point-to-multipoint cells is selected. How often the common queue for the point-to-multipoint cells is selected for a given cell payload depends on the number of point-to-multipoint leaves for which the cell is to be utilized. Thus, in essence, the cell is copied from the common queue in accordance with the number of nodes or multipoint leaves to which it is to be transmitted. A point-to-multipoint cell belongs to one connection; the cell is copied to all leaves.
At times a particular one of the line termination circuits (through which the switch port is connected to a corresponding outgoing link) can indicate that it is temporarily busy or saturated. In such cases, that particular line termination circuit may generate a signal indicating that no more data should be sent to its link. Such a busy signal is particularly prone to occur when the cell in the common queue for point-to-multipoint cells is repeatedly replicated to one link. When such a busy signal occurs, other cells cannot be readout of the common queue for point-to-multipoint cells and cannot be forwarded to other links. Thus, the particular link which stopped readout from the common queue for point-to-multipoint cells effectively blocks the common queue, and sets up what has been termed a `head of queue blocking problem`. The head of queue blocking problem undesirably increases the delay for point-to-multipoint cell copies destined for other links. This problem may also result in discarding of point-to-multipoint cells in the queue. In some implementations, the problems can be propogated to ingress point-to-multipoint queues, and discarding may be necessary. Even point-to-point queues may in some implementations be affected. These problems may result in degredation of throughput.
Another problem with a common point-to-multipoint queue is that it causes long delays between readout of first cell and last cells in a large point-to-multipoint tree (e.g., many leaves).
An alternative to the foregoing technique is the copying of point-to-multipoint cells to all leaves before storing the cells in the different link queues. However, such copying requires cessation of cell input until all copies have been made, which may decrease throughput and increase delay. Such copying could conceivably be accomplished in background (e.g., while waiting to fill empty cell slots), but since the copying may take a long time the delay and delay variation for point-to-multipoint cells will be very poor.
What is needed therefore, and an object of the present invention, is a technique for efficiently handling point-to-multipoint ATM cells in a switching node.